<!--
 * @Author: HeAo
 * @Date: 2022-08-23 19:36:33
 * @LastEditTime: 2022-08-24 10:46:37
 * @LastEditors: HeAo
 * @Description: 
 * @FilePath: \JavaScripe\day-12\02-节点类型.html
 * 别乱动！
-->
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div id="div1">我是一个div标签</div>
  <div id="d1">Hello <span>JavaScript</span> DOM</div>
  <script>
    // nodeType 节点类型
    console.log(document.nodeType); //9

    // 节点名称 nodeName
    console.log(div1.nodeName); //div

    // 获取节点里对应的值 nodeValue
    console.log(div1.firstChild.nodeValue); //我是一个div标签

    // textContent返回当前节点和它的所有后代节点的文本内容
    console.log(document.getElementById('d1').textContent); //Hello JavaScript DOM

    // nextSibling 获取当前节点的下一个兄弟节点
    console.log(div1.nextSibling); //\n 空格 因为是要紧跟着的才行，而div1后面是换行 空格才到d1

    // // 获取父节点 parentNode(可以找到document)
    console.log(div1.parentNode); //<body>

    // // 获取父元素节点 parentElement (只能找到element)
    console.log(div1.parentElement); //<body>

    // // firstChild属性返回当前节点的第一个子节点，如果当前节点没有子节点，则返回null，last则返回最后一个子节点。
    console.log(d1.firstChild); //Hello

    console.log(d1.lastChild); //DOM

    // childNodes属性返回一个类似数组的对象（NodeList集合），成员包括当前节点的所有子节点
    console.log(d1.childNodes);
  </script>

</body>

</html>